package com.ruoyi.report_wjjhl.domain.vo;

import java.math.BigDecimal;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.utils.BigDecimalUtil;
import com.ruoyi.report_tg.domain.vo.ExcelGeneralVo;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * 最大干密度最佳含水率试验检测报告，详细使用对应记录的详细视图对象 report_wjjhl_wdclzdgmdbg_bs_info
 *
 * @author zyb
 * @date 2024-07-31
 */
@Data
@ExcelIgnoreUnannotated
public class WdclzdgmdbgBsInfoVo extends ExcelGeneralVo {

    private static final long serialVersionUID = 1L;

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @ExcelProperty(value = "一份excel表格的唯一id(其他的excel主表，都应有此字段）")
    private Long excelId;

    /**
     * 共几页
     */
    @ExcelProperty(value = "共几页")
    private Long totalPage;

    /**
     * 第几页
     */
    @ExcelProperty(value = "第几页")
    private Long page;

    /**
     * 报告编号
     */
    @ExcelProperty(value = "报告编号")
    private String baogbh;

    /**
     * 检测单位名称
     */
    @ExcelProperty(value = "检测单位名称")
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @ExcelProperty(value = "工程部位/用途")
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @ExcelProperty(value = "样品名称")
    private String yangpmc;

    /**
     * 样品编号
     */
    @ExcelProperty(value = "样品编号")
    private String yangpbh;

    /**
     * 样品数量
     */
    @ExcelProperty(value = "样品数量")
    private String yangpsl;

    /**
     * 样品状态
     */
    @ExcelProperty(value = "样品状态")
    private String yangpzt;

    /**
     * 样品时间
     */
    @ExcelProperty(value = "样品时间")
    private String yangpsj;

    /**
     * 检测日期
     */
    @ExcelProperty(value = "检测日期")
    private String jiancrq;

    /**
     * 试验条件温度
     */
    @ExcelProperty(value = "试验条件温度")
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @ExcelProperty(value = "试验条件湿度")
    private String shiytjsd;

    /**
     * 检测依据
     */
    @ExcelProperty(value = "检测依据")
    private String jiancyj;

    /**
     * 判定依据
     */
    @ExcelProperty(value = "判定依据")
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @ExcelProperty(value = "主要仪器设备名称及编号")
    private String zhuyyqsbmcjbh;

    /**
     * 取样位置
     */
    @ExcelProperty(value = "取样位置")
    private String quywz;

    /**
     * 委托/任务编号
     */
    @ExcelProperty(value = "委托/任务编号")
    private String weitrwbh;

    /**
     * 土样产地
     */
    @ExcelProperty(value = "土样产地")
    private String tuycd;

    /**
     * 代表数量
     */
    @ExcelProperty(value = "代表数量")
    private String daibsl;

    /**
     * 附加声明
     */
    @ExcelProperty(value = "附加声明")
    private String fujsm;

    /**
     * 检测结论
     */
    @ExcelProperty(value = "检测结论")
    private String jiancjl;

    /**
     * 施工委托单位
     */
    @ExcelProperty(value = "施工委托单位")
    private String shigwtdw;

    /**
     * 工程名称
     */
    @ExcelProperty(value = "工程名称")
    private String gongcmc;

    /**
     * 设备id逗号分隔
     */
    @ExcelProperty(value = "设备id逗号分隔")
    private String shebIds;

    /**
     * 标识该表是报告
     */
    @ExcelProperty(value = "标识该表是报告")
    private String bgFlag;

    /**
     * 检测依据ids
     */
    @ExcelProperty(value = "检测依据ids")
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @ExcelProperty(value = "判定依据ids")
    private String pandyjIds;

    /**
     * 材料名称规格1
     */
    @ExcelProperty(value = "材料名称规格1")
    private String cailmcgg1;

    /**
     * 材料名称规格2
     */
    @ExcelProperty(value = "材料名称规格2")
    private String cailmcgg2;

    /**
     * 材料名称规格3
     */
    @ExcelProperty(value = "材料名称规格3")
    private String cailmcgg3;

    /**
     * 材料名称规格4
     */
    @ExcelProperty(value = "材料名称规格4")
    private String cailmcgg4;

    /**
     * 材料名称规格5
     */
    @ExcelProperty(value = "材料名称规格5")
    private String cailmcgg5;

    /**
     * 材料名称规格6
     */
    @ExcelProperty(value = "材料名称规格6")
    private String cailmcgg6;

    /**
     * 材料名称规格7
     */
    @ExcelProperty(value = "材料名称规格7")
    private String cailmcgg7;

    /**
     * 产地1
     */
    @ExcelProperty(value = "产地1")
    private String chand1;

    /**
     * 产地2
     */
    @ExcelProperty(value = "产地2")
    private String chand2;

    /**
     * 产地3
     */
    @ExcelProperty(value = "产地3")
    private String chand3;

    /**
     * 产地4
     */
    @ExcelProperty(value = "产地4")
    private String chand4;

    /**
     * 产地5
     */
    @ExcelProperty(value = "产地5")
    private String chand5;

    /**
     * 产地6
     */
    @ExcelProperty(value = "产地6")
    private String chand6;

    /**
     * 产地7
     */
    @ExcelProperty(value = "产地7")
    private String chand7;

    /**
     * 比例1
     */
    @ExcelProperty(value = "比例1")
    private String bil1;

    /**
     * 比例2
     */
    @ExcelProperty(value = "比例2")
    private String bil2;

    /**
     * 比例3
     */
    @ExcelProperty(value = "比例3")
    private String bil3;

    /**
     * 比例4
     */
    @ExcelProperty(value = "比例4")
    private String bil4;

    /**
     * 比例5
     */
    @ExcelProperty(value = "比例5")
    private String bil5;

    /**
     * 比例6
     */
    @ExcelProperty(value = "比例6")
    private String bil6;

    /**
     * 比例7
     */
    @ExcelProperty(value = "比例7")
    private String bil7;

    /**
     * 干密度平均值
     */
    @ExcelProperty(value = "干密度平均值")
    private BigDecimal ganmdpjz;


    public void setGanmdpjz(BigDecimal ganmdpjz) {
        this.ganmdpjz = BigDecimalUtil.stpTrailZero(ganmdpjz);
    }

    /**
     * 详细表
     */
    List<WdclzdgmdBaDetailVo> baDetailVos;

    public WdclzdgmdbgBsInfoVo() {
        // 默认 5次
        baDetailVos = new ArrayList<>(3);
        for (long i = 1; i <= 3L; i++) {
            baDetailVos.add(new WdclzdgmdBaDetailVo());
        }
    }
}
